<script src="../../resources/js-test.js"></script>
<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
<style>
#test {
}
</style>
<body>
</body>
<p>
Test that e matched declaration cache handles explicitly inherited properties correctly.
<p>
<script>
var shorthandNames = [
    "background",
    "background-position",
    "background-repeat",
    "border",
    "border-block-end",
    "border-block-start",
    "border-bottom",
    "border-color",
    // getPropertyValue() functionality not supported, see http://webkit.org/b/103245.
    // "border-image",
    "border-inline-end",
    "border-inline-start",
    "border-left",
    "border-radius",
    "border-right",
    "border-spacing",
    "border-style",
    "border-top",
    "border-width",
    "list-style",
    "font",
    "margin",
    "outline",
    "overflow",
    "padding",
    "webkit-animation",
    "webkit-columns",
    "webkit-column-rule",
    "webkit-flex-flow",
    "webkit-flex",
    "webkit-marginCollapse",
    "webkit-marquee",
    "webkit-mask",
    "webkit-mask-position",
    "webkit-mask-repeat",
    "webkit-text-emphasis",
    "webkit-text-stroke",
    "webkit-transition",
    "webkit-transform-origin"
];

var style = document.styleSheets[0].rules[0].style;
function test(shorthand) {
    var result = [];
    style[shorthand] = "inherit";
    result.push(style[shorthand]);
    style[shorthand] = "initial";
    result.push(style[shorthand]);
    return result.join(", ");
}

for (var i = 0; i < shorthandNames.length; ++i) {
    shouldBeEqualToString("test('" + shorthandNames[i] + "')", "inherit, initial");
}
</script>
